import { SaveDocsType, FindDocsType, RemoveDocsByIdsType, RemoveDocsType } from '@xtail/pouchdb'
import {
  TestConnType,
  ShellSessionOpenType,
  ShellSessionExecType,
  ShellSessionCloseType,
  SSHSessionOpenType,
  SSHSessionExecType,
  SSHSessionCloseType
} from '@main/api'

export type ApiType = {
  // 服务器主机连接配置 CRUD
  saveHostConnConfs: SaveDocsType
  findHostConnConfs: FindDocsType
  removeHostConnConfsByIds: RemoveDocsByIdsType
  // 服务器主机连接测试
  testConn: TestConnType
  // 本机终端会话
  shellSessionOpen: ShellSessionOpenType
  shellSessionExec: ShellSessionExecType
  shellSessionClose: ShellSessionCloseType
  // 服务器主机 SSH 会话
  SSHSessionOpen: SSHSessionOpenType
  SSHSessionExec: SSHSessionExecType
  SSHSessionClose: SSHSessionCloseType
  // 命令配置 CRUD
  saveCmdConfs: SaveDocsType
  findCmdConfs: FindDocsType
  removeCmdConfsByIds: RemoveDocsByIdsType
  // 脚本配置 CRUD
  saveScriptConfs: SaveDocsType
  findScriptConfs: FindDocsType
  removeScriptConfsByIds: RemoveDocsByIdsType
  // 脚本节点配置 CRUD
  saveScriptNodeConfs: SaveDocsType
  findScriptNodeConfs: FindDocsType
  removeScriptNodeConfsByIds: RemoveDocsByIdsType
  removeScriptNodeConfs: RemoveDocsType
  // 脚本节点边配置 CRUD
  saveScriptEdgeConfs: SaveDocsType
  findScriptEdgeConfs: FindDocsType
  removeScriptEdgeConfsByIds: RemoveDocsByIdsType
  removeScriptEdgeConfs: RemoveDocsType
}
